iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
自我挑戰組

System Software Introduction系列 第 19

The Verification of System Software​ - Bring-up

  • 分享至 

  • xImage
  •  

What is the Bring-up

Bring-up指的是讓system software在一個hardware platform可以運行並且跑到kernel進入idle狀態,這是一個一邊開機一邊debug的過程。
Kernel進入idle狀態: 表示kernel已經沒有其他事情需要做並等待新任務的到來,例如: Linux kernel開機成功後會進入cpu_idle()的函式。

Why Bring-up is Needed

Hardware platform搭配能成功開機的system software (device driver&kernel),才能讓application software、verification program有hardware platform可以運行,過程中如果系統出現錯誤,才能準確定位是新加入的功能或測項本身發生問題。

The Flow of Bring-up

  • 確認firmware (BIOS)與bootloader或者模擬器的載入程式可以將kernel (當中包含device driver)成功載入到RAM上面
  • Bootloader或simulator的載入程式會將CPU的PC (program count) 跳轉到kerenl的entry point開始執行
  • 確認CPU能夠讀取RAM上面的程式、資料,並且可以正確執行
  • 確認kernel開機過程中,沒有觸發硬體錯誤、kernel本身的軟體初始化沒有發生問題而讓開機流程停住
  • 確認CPU能夠執行到idle狀態的函式而停下

The Issues in Bring-up

  • kernel無法載入RAM: 無法正確讀取資料,或者對RAM寫入需要經過的硬體路徑有問題
  • CPU沒有辦法正確讀取程式執行: cache設定有bug、對RAM讀取需要經過的硬體路徑有問題
  • 硬體發生錯誤: device driver寫錯,沒有正確開啟clock、沒有對正確的control register操作
  • kernel發生錯誤: kernel初始化邏輯有bug,使kernel運作發生錯誤

上一篇
The Verification of System Software​ - Compiler Toolchain Correctness Verification​
下一篇
The Verification of System Software​ - DVT
系列文
System Software Introduction30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言